 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using vudu.EnlaceDatos.SqlServer;

namespace vudu.Logica.Clases
{
    public class Profesor
    {
        private int _cedula;
        private String _nombre;
        private String _apellido;
        private int _crn;
        private String _email;
        private String _sexo;
        private String _telefono;
        private DateTime _fechaNacimiento;
        private String _tiempoLaboral;
        private String _estatus;
        private float _espacioMaxCarga;
        private float _espacioUtilizado;
        private List<SeccionMateria> _listaSecciones;
        private List<Materia> _listaMaterias;
        private SqlServerProfesor _bdProfesor;

        public Profesor()
        {
        }

        public Profesor(int nuevaCedula, String nuevoNombre, String nuevoApellido, String nuevoSexo, String nuevoTelefono,
             DateTime nuevaFecha, String nuevoTiempoLaboral, String nuevoStatus, int nuevoEspacioMaxCarga)
        {
            Cedula = nuevaCedula;
            Nombre = nuevoNombre;
            Apellido = nuevoApellido;
            Sexo = nuevoSexo;
            Telefono = nuevoTelefono;
            FechaNacimiento = nuevaFecha;
            TiempoLaboral = nuevoTiempoLaboral;
            Estatus = nuevoStatus;
            EspacioMaxCarga = nuevoEspacioMaxCarga;
            EspacioUtilizado = 0;
            _listaSecciones = new List<SeccionMateria>();
            _listaMaterias = new List<Materia>();

        }

        #region gets & sets
        public int Cedula
        {
            get { return _cedula; }
            set { _cedula = value; }
        }

        public String Nombre
        {
            get { return _nombre; }
            set { _nombre = value; }
        }

        public String Apellido
        {
            get { return _apellido; }
            set { _apellido = value; }
        }

        public int Crn
        {
            get { return _crn; }
            set { _crn = value; }
        }

        public String Email
        {
            get { return _email; }
            set { _email = value; }
        }

        public string Sexo
        {
            get { return _sexo; }
            set { _sexo = value; }
        }

        public string Telefono
        {
            get { return _telefono; }
            set { _telefono = value; }
        }

        public DateTime FechaNacimiento
        {
            get { return _fechaNacimiento; }
            set { _fechaNacimiento = value; }
        }

        public String TiempoLaboral
        {
            get { return _tiempoLaboral; }
            set { _tiempoLaboral = value; }
        }

        public String Estatus
        {
            get { return _estatus; }
            set { _estatus = value; }
        }

        public float EspacioMaxCarga
        {
            get { return _espacioMaxCarga; }
            set { _espacioMaxCarga = value; }
        }

        public float EspacioUtilizado
        {
            get { return _espacioUtilizado; }
            set { _espacioUtilizado = value; }
        }

        public String NombreCompleto
        {
            get { return this.Nombre + " " + this.Apellido + " CI: " + this.Cedula; }
        }
        #endregion

        #region Metodos

        public List<Profesor> ConsultarListaProfesor()
        {
            List<Profesor> profe = new List<Profesor>();
            _bdProfesor = new SqlServerProfesor();
            profe = _bdProfesor.ConsultarListaProfesores();
            return profe;
        }


        #region Grupo 6 metodos
            public int relacionEscuelaProfesor(int _idUsuario)
            {
                SqlServerPensum sqlServerPensum = new SqlServerPensum();
                return sqlServerPensum.ConsultarEscuelaProfesor(_idUsuario);
            }
        #endregion

        #endregion
    }
}